function altaDispositivo(){
        if(!validaAltaDispositivo())
            return false;
       $.ajax(
	{
		type: "GET",
		url: "altaDispositivo",
		async: false,
                dataType: "text",
                data: $('#formComp').serialize()+"&departamento="+$("#departamento").val()
                        +"&localizacion="+$("#localizacion").val()+"&estado="+$("#estado").val()
                        +"&modelo="+$("#modelo").val()+"&cantidad="+$("#cantidad").val(),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                                if(transport==1){
                                    alert("No se pudo realizar el registro,"
                                           +"el número de serie de ese modelo ya existe.");
                                } else {
                                    alert("Se ha realizado el registro correctamente");
                                    $("#noserie").val("");
                                    $("#departamento option:contains('')").attr("selected",true);    
                                    $("#localizacion").val("");
                                    $("#estado").val("");
                                    $('table[name="tablaDisp"] tr td').remove();
                                     buscarDispositivosModelo();
                                }
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
        return false;
}

function altaComponente1(){
    if(!validaAgregarComponente1())
        return false;
    btnEliminar=0;
    if($('#btnAgregarComponenteC').doesExist() &&  $('#btnAgregarEncargado').doesExist() && $('#btnAgregarSoftware').doesExist())
        btnEliminar=1;
    $.ajax(
	{
		type: "GET",
		url: "altaComponente",
		async: false,
                dataType: "text",
                data: "idTipo="+$("#nombreCompC").val()+"&caracteristicas="+$("#caracteristicasCompC").val()
                        +"&idDisp="+$('#idDisp').val()+"&btnEliminar="+btnEliminar,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                                alert("El componente se agregó correctamente");
                                $("#nombreCompC").val("");  
                                $("#caracteristicasCompC").val("");
                                $('table[name="tablaComp"] tr:last').after(transport);
                                $('input[id="btnEliminarComponente"]').click(eliminarComponenteDispositivo);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
    return false;
}

function altaComponente2(){
    if(!validaAgregarComponente2())
        return false;
    btnEliminar=0;
    if($('#btnAgregarComponenteC').doesExist() &&  $('#btnAgregarEncargado').doesExist() && $('#btnAgregarSoftware').doesExist())
        btnEliminar=1;
    $.ajax(
	{
		type: "GET",
		url: "altaComponente",
		async: false,
                dataType: "text",
                data: "idComp="+$("#existenteCompC").val()+"&idDisp="+$('#idDisp').val()+"&btnEliminar="+btnEliminar,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                                alert("El componente se agregó correctamente");
                                $("#existenteCompC").val(""); 
                                $('table[name="tablaComp"] tr:last').after(transport);
                                $('input[id="btnEliminarComponente"]').click(eliminarComponenteDispositivo);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
    return false;
}


function verDispositivo(){
   $.ajax(
	{
		type: "GET",
		url: "verDispositivo",
		async: false,
                dataType: "text",
                data: "id="+$(this).parent().parent().attr("id"),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				$("#verDispositivo").html(transport);
                                $("#verDispositivo").show();
                                $("#tablaDispositivos").hide();
                                $("#btnRegresar").click(mostrarDispositivos);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function buscarDispositivos(){
   $.ajax(
	{
		type: "GET",
		url: "buscarDispositivos",
		async: false,
                dataType: "text",
                data: "buscar="+$("#buscar").val(),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				$("#body-content").html(transport);
                                $('input[id="btnVer"]').click(verDispositivo);
                                $('input[id="btnModificar"]').click(verModificarDispositivo);
                                $('input[id="btnEliminar"]').click(eliminarDispositivo);
                                $('#btnAgregar').click(agregarDispositivo);
                                $('#btnBuscar').click(buscarDispositivos);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function verModificarDispositivo(){
     id = $(this).parent().parent().attr("id");
    $.ajax(
	{
		type: "GET",
		url: "verModificarDispositivo",
		async: false,
                dataType: "text",
                data: "id="+id,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            
                            $("#verModificar").html(transport);
                            $(".error-inner").hide();
                            $("#verModificar").show();
                            $("#tablaDispositivos").hide();
                            $('input[id="btnEliminarSoftware"]').click(eliminarSoftwareDispositivo);
                            $('input[id="btnEliminarComponente"]').click(eliminarComponenteDispositivo);
                            $('input[id="btnEliminarEncargado"]').click(eliminarEncargadoDispositivo);
                            $("#btnRegresar").click(function(){
                                    $("#verModificar").hide();
                                    $("#tablaDispositivos").show();
                                    $("#verModificar").html("")});
                           $('#btnAgregarComponenteC').click(altaComponente1);  
                           $('#btnAgregarExistenteC').click(altaComponente2);
                           $('#btnAgregarEncargado').click(altaEncargado);
                           $('#btnAgregarSoftware').click(altaSoftware);
                           $('#btnModificarDispositivo').click(modificarDispositivo);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function eliminarDispositivo(){
    if(!confirm("Seguro que desea borrar el dispositivo "+ $(this).parent().parent().attr("id")))
        return;
    id = $(this).parent().parent().attr("id");
    $.ajax(
	{
		type: "GET",
		url: "eliminarDispositivo",
		async: false,
                dataType: "text",
                data: "id="+id,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            alert(transport); 
                            $("#"+id).remove();
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function validaAltaDispositivo(){
    $('.error-inner').hide();
    esValido = true;
    if($('#departamento').val()==""){
        $("#edepartamento").show();
        esValido = false;
    }
    if($('#localizacion').val()==""){
        $("#elocalizacion").show();
        esValido = false;
    }
    if($('#estado').val()==""){
        $("#eestado").show();
        esValido = false;
    }
    if(isNaN($("#cantidad").val()) || $("#cantidad").val().length < 1){
        $("#ecantidad").show();
        esValido = false;
    }
    return esValido;
}


function validaAgregarComponente(){
    $('.error-inner').hide();
    esValido = true;
    if($('#nombreComp').val()==""){
        $("#enombreComp").show();
        esValido = false;
    }
    if($('#caracteristicasComp').val()==""){
        $("#ecaracteristicasComp").show();
        esValido = false;
    }
    return esValido;
}

function mostrarDispositivos(){
    $("#verDispositivo").hide();
    $("#tablaDispositivos").show();
    $("#verDispositivo").html("");
}

function agregarDispositivo(){
   $("#tablaDispositivos").hide();
    
     $.ajax(
	{
		type: "GET",
		url: "buscarTipoDispositivo",
		async: false,
                dataType: "text",
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            $("#verDispositivo").html(transport);
                            $(".error-inner").hide();
                            $("#verDispositivo").show();
                            $("#tablaDispositivos").hide();
                            $('#btnAltaDispositivo').click(altaDispositivo);
                            $('#btnCargarDatos').click(buscarDispositivosModelo)    
                            $('#tipo').change(buscarMarca);
                            $('#marca').change(buscarModelo);
                            $('#btnRegresar').click(mostrarDispositivos);
                            $('#btnAgregarComponente').click(agregarComponenteDispositivo);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function buscarMarca(){
    tipo = $("#tipo").val();
    $.ajax(
	{
		type: "GET",
		url: "buscarMarca",
		async: false,
                dataType: "text",
                data: "tipo="+tipo,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            //alert(transport);
                            $('#marca').html("<select id='marca' name='marca'>"+transport+"</select>"); 
                            $('#modelo').html("<select id='modelo' name='modelo'>"
                                           +"<option value=''>[Modelo]</option></select>");         
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function buscarModelo(){
    tipo = $("#tipo").val();
    marca = $("#marca").val();
    $.ajax(
	{
		type: "GET",
		url: "buscarModelo",
		async: false,
                dataType: "text",
                data: "marca="+marca+"&tipo="+tipo,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                           $('#modelo').html("<select id='modelo' name='modelo'>"+transport+"</select>"); 
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function buscarDispositivosModelo(){
    if(!validaBuscarDatosModelo())
        return false;
    $("#tipo").attr('disabled','readonly');
    $("#marca").attr('disabled','readonly');
    $("#modelo").attr('disabled','readonly');
    $("#btnCargarDatos").attr('disabled','readonly');
    $.ajax(
    {
            type: "GET",
            url: "buscarDispositivosModelo",
            async: false,
            dataType: "text",
            data: "idModelo="+$("#modelo").val(),
            beforeSend: function(){

            },
            success: function(transport)
            {
                        
                        $('table[name="tablaDisp"] tr:last').after(transport);
                        $('input[id="btnVerComponentes"]').click(verComponentes);
                        $('input[id="btnVerEncargado"]').click(verEncargado);
                        $('input[id="btnVerSoftware"]').click(verSoftware);
            },
            error: function (xhr, ajaxOptions, thrownError) {
                $('#errores').html(xhr.responseText);
                alert(thrownError);
             }            
    });
    return false;
}

function validaBuscarDatosModelo(){
    $('.error-inner').hide();
    esValido = true;
    if($('#tipo').val()==""){
        $("#etipo").show();
        esValido = false;
    }
    if($('#marca').val()==""){
        $("#emarca").show();
        esValido = false;
    }
    if($('#modelo').val()==""){
        $("#emodelo").show();
        esValido = false;
    }
    return esValido;
}

function validaAgregarComponente1(){
    $('.error-inner').hide();
    esValido = true;
    if($('#nombreCompC').val()==""){
        $("#enombreCompC").show();
        esValido = false;
    }
    if($('#caracteristicasCompC').val()==""){
        $("#ecaracteristicasCompC").show();
        esValido = false;
    }
    return esValido;
}

function validaAgregarComponente2(){
    $('.error-inner').hide();
    esValido = true;
    if($('#existenteCompC').val()==""){
        $("#eexistenteCompC").show();
        esValido = false;
    }
    return esValido;
}

function verComponentes(){
    $.ajax(
	{
		type: "GET",
		url: "verComponentes",
		async: false,
                dataType: "text",
                data: "id="+$(this).parent().parent().attr("id"),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				$("#verComponentes").html(transport);
                                $(".error-inner").hide();
                                $("#verComponentes").show();
                                $("#verDispositivo").hide();
                                $("#btnRegresarC").click(function(){
                                    $("#verComponentes").hide();
                                    $("#verDispositivo").show();
                                    $("#verComponentes").html("")});
                                $('#btnAgregarComponenteC').click(altaComponente1);
                                $('#btnAgregarExistenteC').click(altaComponente2);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function verEncargado(){   
    $.ajax(
	{
		type: "GET",
		url: "verEncargado",
		async: false,
                dataType: "text",
                data: "id="+$(this).parent().parent().attr("id"),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				$("#verEncargado").html(transport);
                                $(".error-inner").hide();
                                $("#verEncargado").show();
                                $("#verDispositivo").hide();
                                $("#btnRegresarE").click(function(){
                                    $("#verEncargado").hide();
                                    $("#verDispositivo").show();
                                    $("#verEncargado").html("")});
                                $('#btnAgregarEncargado').click(altaEncargado);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function altaEncargado(){
     $('.error-inner').hide();
    if($("#encargado").val()==""){
        $("#eencargado").show();
        return false;
    } 
    btnEliminar=0;
    if($('#btnAgregarComponenteC').doesExist() &&  $('#btnAgregarEncargado').doesExist() && $('#btnAgregarSoftware').doesExist())
        btnEliminar=1;
    $.ajax(
	{
		type: "GET",
		url: "altaEncargado",
		async: false,
                dataType: "text",
                data: "idDisp="+$("#idDisp").val()+"&idEmp="+$("#encargado").val()+"&btnEliminar="+btnEliminar,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				alert("El encargado se agregó correctamente");
                                $("#encargado option:first").attr("selected",true);
                                $('table[name="tablaEmp"] tr:last').after(transport);
                                $('input[id="btnEliminarEncargado"]').click(eliminarEncargadoDispositivo);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
    return false;
}

function verSoftware(){
    $.ajax(
	{
		type: "GET",
		url: "verSoftware",
		async: false,
                dataType: "text",
                data: "id="+$(this).parent().parent().attr("id"),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				$("#verSoftware").html(transport);
                                $(".error-inner").hide();
                                $("#verSoftware").show();
                                $("#verDispositivo").hide();
                                $("#btnRegresarS").click(function(){
                                    $("#verSoftware").hide();
                                    $("#verDispositivo").show();
                                    $("#verSoftware").html("")});
                                $('#btnAgregarSoftware').click(altaSoftware);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function altaSoftware(){
    $('.error-inner').hide();
    if($("#software").val()==""){
        $("#esoftware").show();
        return false;
    }
    btnEliminar=0;
    if($('#btnAgregarComponenteC').doesExist() &&  $('#btnAgregarEncargado').doesExist() && $('#btnAgregarSoftware').doesExist())
        btnEliminar=1;
    $.ajax(
	{
		type: "GET",
		url: "altaSoftware",
		async: false,
                dataType: "text",
                data: "idDisp="+$("#idDisp").val()+"&idSoft="+$("#software").val()+"&btnEliminar="+btnEliminar,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				alert("El software se agregó correctamente");
                                $("#software option:first").attr("selected",true);
                                $('table[name="tablaSoft"] tr:last').after(transport);
                                $('input[id="btnEliminarSoftware"]').click(eliminarSoftwareDispositivo);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
    return false;
}

function eliminarComponenteDispositivo(){
    if(!confirm("Seguro que desea borrar el componente"))
        return;
    id = $(this).parent().parent().attr("id");
    $.ajax(
	{
		type: "GET",
		url: "eliminarComponenteDispositivo",
		async: false,
                dataType: "text",
                data: "idComp="+id,
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            alert(transport); 
                            $("#"+id).remove();
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function eliminarEncargadoDispositivo(){
    if(!confirm("Seguro que desea borrar el encargado"))
        return;
    id = $(this).parent().parent().attr("id");
    $.ajax(
	{
		type: "GET",
		url: "eliminarEncargadoDispositivo",
		async: false,
                dataType: "text",
                data: "idEmp="+id+"&idDisp="+$("#idDisp").val(),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            alert(transport); 
                            $("#"+id).remove();
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function eliminarSoftwareDispositivo(){
    if(!confirm("Seguro que desea borrar el software"))
        return;
    id = $(this).parent().parent().attr("id");
    $.ajax(
	{
		type: "GET",
		url: "eliminarSoftwareDispositivo",
		async: false,
                dataType: "text",
                data: "idSoft="+id+"&idDisp="+$("#idDisp").val(),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
                            alert(transport); 
                            $("#"+id).remove();
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
}

function modificarDispositivo(){
    if(!validaAltaDispositivo())
            return false;
    $.ajax(
	{
		type: "GET",
		url: "modificarDispositivo",
		async: false,
                dataType: "text",
                data: $("#modificarDispositivo").serialize()+"&idDisp="+$("#idDisp").val(),
                beforeSend: function(){
                    
                },
		success: function(transport)
		{
				alert(transport);
		},
                error: function (xhr, ajaxOptions, thrownError) {
                    $('#errores').html(xhr.responseText);
                    alert(thrownError);
                 }            
	});
        return false;
}

function agregarComponenteDispositivo(){
      if(!validaAgregarComponente())
            return false;
     code="<tr>\n\
                <td><input type='hidden' class='inp-form' name='idComponente' id='idComponente' value='|1|' readonly/>\n\
                <input type='text' class='inp-form' name='componente' id='componente' value='|3|' readonly/></td>\n\
                <td><input type='text' class='inp-form' name='caractComp' id='caractComp' value='|2|' readonly/></td>\n\
            </tr>"; 
    code = code.replace('|1|',$('#nombreComp').val());
    code = code.replace('|3|',$("#nombreComp option:selected").html());
    code = code.replace('|2|',$('#caracteristicasComp').val());
    $('#nombreComp').val("");
    $('#caracteristicasComp').val("");
    $('table[name="tablaComp"] tr:last').after(code);
    return false;
}

$.fn.doesExist = function(){
        return $(this).length > 0;
 };